package com.ws.shop.service;

import java.util.List;

import com.ws.shop.bean.Page;
import com.ws.shop.entity.ArticleCategories;

public interface ArticleCategoriesService {

	public List<ArticleCategories> findArticleCategoriesListAll();
	public List<ArticleCategories> findCategoriesByfid(final long fid);
	public ArticleCategories findArticleCategoriesById(int id);
	public void saveOrUpdate(ArticleCategories articleCategories);
	public Page findArticleCategoriesListByPage(int pageno, int pagesize, String name);
	/**
	 * 查找指定文章类型及其所有子类型，包含子类型的子类型
	 * @param id 指定的文章类型
	 * @param single 是否只查询单页(无子类型)的子类型，-1:所有；0:包含子类型的 1:无子类型的
	 */
	public List<ArticleCategories> findAllChildArticleCategoriesById(int id, int single);
	public List<ArticleCategories> findArticleCategoriesTreeList();
	/**
	 * 查询指定类型的父级树状结构，包括本身
	 * @param cid
	 * @return
	 */
	public List<ArticleCategories> findArticleCategoriesParentTreeById(int id);
	
	/**
	 * 获取指定类型的子树状结构，包括本身
	 * @param id
	 * @param i
	 */
	public List<ArticleCategories> findChildArticleCategoriesTreeById(int id);
	
	/**
	 * 查询指定类型下的直接子类型，不包含本身
	 * @param pageno
	 * @param pagesize
	 * @param fid
	 * @return
	 */
	public Page findChildArticleCategoriesListPage(int pageno, int pagesize, int fid);
	/**
	 * 查询指定类型的所有子类型，并查询出子类型下的文章列表
	 * @param id
	 * @return
	 */
	public List<ArticleCategories> findChildArticleCategoriesWithArticleById(
			int id);
	
	/**
	 * 根据文章类型ID集合获取底部导航文章,多个ID以','分隔
	 */
	public List<ArticleCategories> findBottomNavigationWithArticle(String acids);
}
